/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ventas.beans;

import entities.MultiplicadorProductoPedido;
import entities.Usuario;
import facades.MultiplicadorProductoPedidoFacade;
import java.io.Serializable;
import java.util.Date;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import qualifiers.UsuarioLogeado;
import ventas.qualifiers.EventoBorrarMultiplicadorCategoriaYSexo;
import ventas.qualifiers.EventoNuevoMultiplicadorCategoriaYSexo;

/**
 *
 * @author damfercer
 */
@Named(value = "multiplicadoresCategoriaYSexoBean")
@SessionScoped
public class MultiplicadoresCategoriaYSexoBean implements Serializable{
    private MultiplicadorProductoPedido nuevoMultiplicador;
    private MultiplicadorProductoPedido multiplicadorSeleccionado;
    @Inject
    private MultiplicadorProductoPedidoFacade multiplicadorFacade;
    @Inject
    @EventoNuevoMultiplicadorCategoriaYSexo
    Event<MultiplicadorProductoPedido> eventoNuevoMultiplicador;
    @Inject
    @EventoBorrarMultiplicadorCategoriaYSexo
    Event<MultiplicadorProductoPedido> eventoBorrarMultiplicador;
    @Inject
    @UsuarioLogeado
    private Usuario usuarioLogeado;
    /**
     * Creates a new instance of MultiplicadoresCategoriaYSexoBean
     */
    public MultiplicadoresCategoriaYSexoBean() {
        nuevoMultiplicador=new MultiplicadorProductoPedido();
    }

    /**
     * @return the multiplicador
     */
    public MultiplicadorProductoPedido getNuevoMultiplicador() {
        return nuevoMultiplicador;
    }

    /**
     * @param multiplicador the multiplicador to set
     */
    public void setNuevoMultiplicador(MultiplicadorProductoPedido nuevoMultiplicador) {
        this.nuevoMultiplicador = nuevoMultiplicador;
    }
    
    public void guardarNuevoMultiplicador(){
        nuevoMultiplicador.setUsuarioCreador(usuarioLogeado);
        nuevoMultiplicador.setFechaCreacion(new Date());
        multiplicadorFacade.create(nuevoMultiplicador);
        eventoNuevoMultiplicador.fire(nuevoMultiplicador);
        nuevoMultiplicador=new MultiplicadorProductoPedido();
    }
    
    public void borrarMultiplicador(){
        multiplicadorFacade.remove(getMultiplicadorSeleccionado());
        eventoBorrarMultiplicador.fire(getMultiplicadorSeleccionado());
        this.multiplicadorSeleccionado=null;
    }

    /**
     * @return the multiplicadorSeleccionado
     */
    public MultiplicadorProductoPedido getMultiplicadorSeleccionado() {
        return multiplicadorSeleccionado;
    }

    /**
     * @param multiplicadorSeleccionado the multiplicadorSeleccionado to set
     */
    public void setMultiplicadorSeleccionado(MultiplicadorProductoPedido multiplicadorSeleccionado) {
        this.multiplicadorSeleccionado = multiplicadorSeleccionado;
    }
    
    public void select(){
        
    }
    public void unselect(){
        multiplicadorSeleccionado=null;
    }
}
